Skip to main content

Smart Contracts

Smart contracts are exactly the same as any type of contract you already know. The only difference is, they are completely digital. A smart contract is a computer program that runs on a blockchain.

 

We’ve already covered decentralisation, cryptography, DLT’s and blockchains, and will now set our sights on Smart Contracts.

Knots are part of everyday life. There are basic knots that we use to tie shoe laces and hair ribbons, and then there are technical knots that are used on sail boats and for mountaineering. There is an inherent connection between knots and trust – because knots have to function in predictable ways in order to be useful.

A contract is almost like a knot. It is a fixed point, it provides security, it is designed for a specific use and it is inherently trustworthy. Smart contracts are exactly the same as any type of contract you already know (such as employment contracts, marriage contracts or business contracts). The only difference is, they are completely digital. A smart contract is a computer program that runs on a blockchain. It is a computer program that follows the procedures defined by blockchain and DLT (Distributed Ledger Technology).

Let’s consider Kickstarter for this example: Kickstarter is a platform that enables supporters to invest in a product by means of crowdfunding. Kickstarter receives all the money from the supporters and keeps it safe. If the product team is successfully funded, Kickstarter releases the funds to the product team, or it refunds the supporters in case of a failed funding campaign. Both the supporters and product team needs to trust Kickstarter to manage the money well.

In the case of blockchain, we can remove our trusted intermediary (Kickstarter) from the game, and let our blockchain and smart contract manage the process. Our smart contracts can be programmed to hold all the funds until a goal is reached. The supporters of the project can transfer their money to the smart contract (let’s call it our smart ledger). If the project gets fully funded, the contract automatically releases the money from the pool and passes it to the project creator. If the project fails to meet the fundraising goals, the money is automatically sent back to the supporters/investors.

Since our smart contract is stored in a blockchain, they inherit blockchain properties. They are by nature immutable (unable to be changed) and they are distributed. No one has the ability to tamper with the code which stipulates the terms of the contract. Since our smart contract is distributed, the output of the smart contract is verified by all the nodes on the network. A single person cannot force the contract to release the funds, because other nodes on the network will detect this event, and mark it as invalid. With smart contracts, we can develop various distributed applications (dApps) on a blockchain.

Smart contracts can be used to issue loans, or offer automatic payments. Insurance companies can use it to process claims, or courier companies can use it for payment on delivery.

Furthermore, smart contracts enable organisational and operational rules to be written in the form of smart contracts to enable autonomous organisations according to predefined business logic without third-party intervention. Smart contracts generally encompass agreements made between contractors in the form of above-mentioned business logic, and are automatically executable and enforced.

We hope you can easily make the link between smart contracts and knots – both function in predictable ways, they provide security, are designed for a specific use and it is inherently trustworthy. Look at the Infographic below to see how smart contracts fit into the bigger picture of blockchain technology.